const p1 = new Promise((resolve, reject) =>{
    resolve()
    console.log('p1');
})
console.log('sync');
const p2 = new Promise((resolve, reject) =>{
    resolve('')
    console.log('p2');
})

p1.then(res => {
    console.log('p1 then');
    setTimeout(() => {
        console.log('p1 then setTimeout');
    }, 0);
})
setTimeout(() => {
    console.log('setTimeout');
    p1.then(res => {
        console.log('setTimeout p1 then');
    })
}, 0);
p2.then(res => {
    console.log('p2 then');
})
// wang： p1 sync p2 p1_then p2_then setTimeout
// gang: sync p1 p1_then setTimeout p2 p2_then